package com.cw.DesignModel23.Structural.ProxyPattern.静态代理;

public class Main {
    public static void main(String[] args) {
        Order order = new Order("书籍订单", 1);

        IOrderDao dao = new OrderDaoImpl();
        IOrderService service = new OrderServiceImpl(dao);

        // 不使用代理的情况
        service.saveOrder(order);

        System.out.println();

        // 使用代理的情况
        OrderServiceStaticProxy proxy = new OrderServiceStaticProxy(service);
        proxy.saveOrder(order);

    }

    /**
     * 执行结果 :
     *
     * Service 层插入 Order 订单信息成功
     * Dao 层插入 Order 订单信息成功
     *
     * 静态代理 OrderServiceStaticProxy 执行 saveOrder 之前
     * Service 层插入 Order 订单信息成功
     * Dao 层插入 Order 订单信息成功
     * 静态代理 OrderServiceStaticProxy 执行 saveOrder 之后
     * ————————————————
     * 版权声明：本文为CSDN博主「韩曙亮」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。
     * 原文链接：https://blog.csdn.net/shulianghan/article/details/119809723
     */
}

